Skip to main content

Project API Reference

The Project class is the root container of a BindAI solution. A project owns applications, workflows, shared tools, schedulers, configuration, and future shared resources such as knowledge and memory. This page documents the public Project API.

Overview

Every BindAI solution begins with a project. Conceptually:
The project acts as the central coordination point for all components.

Creating a Project

Projects are typically created through a configuration or builder. Example:
Or:

Configuration

Every project contains a ProjectConfiguration. The configuration defines project-wide settings such as:
  • project name
  • environment
  • shared configuration
  • runtime settings
The configuration is available through:

Properties

name

Returns the configured project name. Example:

applications

Dictionary containing registered applications. Conceptually:

tools

The shared tool registry.
Every registered application can access these tools.

workflows

The workflow registry.
Registered workflows may be executed manually or through the scheduler.

scheduler

Provides scheduled workflow execution.

Application Methods

add_application()

Registers an application. Example:
Returns the project instance for fluent chaining.

application()

Returns a registered application. Example:

Tool Methods

add_tool()

Registers a shared tool. Example:
After registration, every application in the project may use the tool.

Workflow Methods

add_workflow()

Registers a workflow. Example:

workflow()

Returns a workflow from the registry. Example:

Scheduler Methods

add_schedule()

Registers a workflow schedule. Example:
The scheduler later determines when the workflow should execute.

Execution Methods

run()

Executes an agent through an application. Example:
This is the primary synchronous execution method.

stream()

Streams an agent response. Example:
Streaming is recommended for conversational user interfaces.

Shared Resources

The project is designed to support shared resources. Examples include:
These resources can be accessed by applications and workflows as the project evolves.

Python Helpers

Projects implement several convenience methods.

Membership

Returns whether an application is registered.

Length

Returns the number of registered applications.

Iteration

Projects are iterable. Example:
This iterates over every registered application.

Typical Lifecycle

A typical project lifecycle is:
This keeps initialization centralized and predictable.

Best Practices

  • Create one project for each AI solution.
  • Register reusable tools at the project level.
  • Keep applications focused on a single business domain.
  • Register workflows centrally.
  • Store shared configuration inside the project.
  • Use the scheduler for recurring workflow execution.
  • Separate project infrastructure from application logic.

Related APIs

The Project API works closely with:
  • Application
  • Agent
  • Workflow
  • Tool
  • Scheduler
These APIs together define the overall BindAI architecture.

Summary

The Project class is the top-level container in BindAI. It coordinates applications, workflows, shared tools, scheduling, and configuration, providing a single entry point for executing and managing complete AI solutions.